using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Comteck.Domain.Entities;

namespace Comteck.Entities.Orders {
  /// <summary>
  /// 订单配送轨迹
  /// <para>https://api.ems.com.cn/#/csgj</para>
  /// </summary>
  [Table("SaleOrderPath")]
  public class SaleOrderPath : Entity<string> {
    /// <summary>
    /// 订单id
    /// </summary>
    [Key]
    [Required]
    public override string Id { get; set; }

    /// <summary>
    /// 订单id
    /// </summary>
    [Required]
    public string OrderId { get; set; }

    /// <summary>
    /// 操作时间
    /// </summary>
    public DateTime? OpTime { get; set; }

    /// <summary>
    /// 操作码
    /// </summary>
    public string OpCode { get; set; }

    /// <summary>
    /// 操作名
    /// </summary>
    public string OpName { get; set; }

    /// <summary>
    /// 操作描述
    /// </summary>
    public string OpDesc { get; set; }

    /// <summary>
    /// 操作网点省名
    /// </summary>
    public string OpOrgProvName { get; set; }

    /// <summary>
    /// 操作网点城市
    /// </summary>
    public string OpOrgCity { get; set; }

    /// <summary>
    /// 操作网点编码
    /// </summary>
    public string OpOrgCode { get; set; }

    /// <summary>
    /// 操作网点名称
    /// </summary>
    public string OpOrgName { get; set; }

    /// <summary>
    /// 操作员工号
    /// </summary>
    public string OperatorNo { get; set; }

    /// <summary>
    /// 操作员工名称
    /// </summary>
    public string OperatorName { get; set; }

    /// <summary>
    /// 妥投代码
    /// </summary>
    public string DeliverCode { get; set; }

    /// <summary>
    /// 未妥投代码
    /// </summary>
    public string AttemptDeliveryCode { get; set; }

    /// <summary>
    /// 运单号
    /// </summary>
    public string WaybillNo { get; set; }
  }
}
